Soft maximum likelihood sequence estimation in digital communication

ABSTRACT

A digital communication receiver generates soft decision values at the output of a maximum likelihood sequence estimator module. The values are fed into a following forward error correction module that uses the soft-decision input signal to improve error correction performance. The disclosed techniques can be used for receiving optical signals in an optical communication network.

CROSS REFERENCE TO RELATED APPLICATIONS

This patent document claims the benefit of priority of U.S. Provisional Patent Application No. 61/803,778, filed on Mar. 20, 2013. The entire content of the before-mentioned patent application is incorporated by reference as part of the disclosure of this document.

BACKGROUND

This patent document relates to receiving error correction coded digital communication signals.

There is an ever-growing demand for data communication in application areas such as wireless communication, fiber optic communication and so on. The demand on core networks is especially higher because not only are user devices such as smartphones and computers using more and more bandwidth due to multimedia applications, but also the total number of devices for which data is carried over core networks is increasing.

SUMMARY

In some disclosed embodiments, a soft decision maximum likelihood sequence estimation (MLSE) technique is used to estimate received demodulated signal data prior to forward error decoding. A trellis structure is used to generate a soft value and a hard value decision for the received sample values. A hard decision about the received data bits is performed using the results of the trellis computations.

In one example aspect, the disclosed technology includes a method of and an apparatus for recovering information bits from a received signal in which information bits are encoded using a forward error correction code include generating a plurality of digital samples from the received signal, performing a maximum likelihood sequence estimation (MLSE) on the plurality of digital samples to generate a plurality of hard decision values and a plurality of soft decision values corresponding to the plurality of hard decision values, and recovering information bits by forward error correcting the plurality of un-error-corrected data bits.

In another example aspect, a method of generating sample value estimates from a plurality of symbol values representing a signal received over a transmission channel, each symbol in the plurality of symbols having a transmitted value from a set of reference symbol values includes generating a trellis model comprising one or more states, each state represented as a set of nodes corresponding to the set of reference symbol values such that, between two consecutive states, each node from a previous state is connected to each node in a next state by a path having a metric representing a likelihood of transition and estimating a first set of values representative of output sample values based on an absolute value of a difference of minimum path metric between reference symbols of consecutive states. This technique may be implemented in a communication receiver comprising an instruction memory and a processor that executes code from the memory to implement the technique.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a prefiltering/Nyquist WDM transmission system with coherent detection.

FIG. 2 shows a multiple cascaded ROADM transmission system with coherent detection.

FIG. 3 shows an exemplary embodiment of DSP process.

FIG. 4 shows soft output calculation in a maximum likelihood sequence estimation (MLSE) trellis structure.

FIG. 5 shows the generation of soft and hard decision values in an MLSE process.

FIG. 6 shows exemplary results of soft MLSE output values generated using different MLSE memory lengths.

FIG. 7 is a flowchart representation of a process of receiving and decoding digital signals.

FIG. 8 is a block diagram representation of a digital receiver.

FIG. 9 is a flowchart representation of a process of receiving and decoding digital signals.

FIG. 10 is a block diagram representation of a digital receiver.

FIG. 11 depicts examples of constellations before and after soft-decision MLSE recovery.

FIG. 12 depicts example graphs of bit error rate (BER) performances of soft and hard output of MLSE w/SD FEC (forward error correction) as a function of OSNR; spectral prefiltering with (a) 3^(rd)-order 22-GHz optical Gaussian filter; (b) 3^(rd)-order 25-GHz optical Gaussian filter.

DETAILED DESCRIPTION

An example of a prefiltering or Nyquist WDM transmission system with coherent detection is shown in FIG. 1. The lightwave generated laser (101) is split by a polarization beam splitter (PBS) and individually modulated by a QPSK optical modulator, and then combined with a polarization beam combiner (PBC) to realize polarization multiplexed QPSK modulation (102). This NRZ-QPSK modulation can be realized by cascaded serial or parallel modulators. Then, optical multiplexer (103) with narrow-band optical filtering function is used to perform aggressive spectrum shaping and multiplexing function to obtain Nyquist (symbol bandwidth=channel spacing) or faster-than Nyquist WDM signals (symbol bandwidth<channel spacing). The transmission link (104) is uncompensated for chromatic dispersion (CD) with the consisting of optical amplifier (OA) and fiber at each span. After transmission, the optical demultiplexer (105) is used to demultiplex the WDM channels to the coherent detection. At the receiver side, LO signal after PBS is launched into the 90° optical hybrid (106) with the polarization split incoming transmitted signal. The diversified signals are sent to photodiode (PD) (107) and digitally sampled with analog-to-digital converter (ADC) (108). The regular digital signal processing unit (109) is then followed to compensate the optical front end (106 and 107) distortion, and then equalize the static and dynamic linear impairments, timing and carrier recovery.

To facilitate ease of optical networking, tolerance of spectrum narrowing is useful, as signal channel spacing is degraded after transmission through optical channel, especially when reconfigurable optical add/drop multiplexers (ROADMs) (112) nodes are used in the network as the second example of an embodiment shown in FIG. 2. Spectrum narrowing severely induces ISI between continually transmitted sequences.

A conventional DSP (digital signal processing) algorithm using adaptive decision feed forward equalizer is an inefficient solution for the particular ISI compensation, since this finite impulse response (FIR) filter enhances noise during compensation of spectrum narrowing. In addition to the regular DSP in conventional coherent detection, additional digital filter and maximum likelihood sequence estimation (MLSE) algorithm are used to suppress noise and crosstalk to realize optimum detection (110) in strong filtering channels. FIG. 3 depicts an example of a detailed process procedure. The MLSE-based method has been successfully proved to mitigate ISI. To further improve the system performance, SD FEC (soft decision forward error code) can be used by insertion of a suitable error correction code into a transmitted data stream to facilitate detection and correction of data errors. In SD FEC, multiple bit “soft” information is generated that represents a confidence level or reliability of the received data (e.g., whether a bit is very likely one, likely one, likely zero, or most likely zero). To implement SD-FEC decoding, the MLSE may generate the “soft” data stream in combination with the conventional “hard” information. The reliability calculation in the MLSE process is based on the calculated path metrics with maximum probability criterion in the Viterbi algorithm.

The various functional modules in FIG. 3 are as follows: polarization detector (PD) 302 that detects polarization multiplexed signals, an analog-to digital (ADC) sampling stage 304, a stage 306 that compensates for imperfections (e.g., non-linearity) in the optical front-end, a stage for carrier frequency detection/compensation 308, a stage that compensates for polarization mode dispersion (PMD) and demultiplexes the polarized signals 310, a clock/carrier recovery stage 312, a digital filter 314 a stage that performs MLSE decoding and computer output of soft information 316 and a module that performs soft decision forward error correction (SD-FEC) 318, as described in the present document.

FIG. 4 depicts the calculation of soft values in MLSE trellis structure 400. The example structure has a memory length of 2, alphabet set of {−1, 1} and, thus, 2 states and 4 possible transitions between two consecutive states. Each trellis branch indicates a possible state transition labeled with a calculated path metric. The path metric represents the likelihood of the corresponding state transition. In the example, a smaller value of the path metric represents a higher likelihood of the corresponding state transition. The MLSE process is to find the surviving path (402 or 404) of a giving trellis that corresponds to the sequence estimation with maximum likelihood. The soft value discussed in the present document can be calculated based on the 4 branch metrics (D1, D2, D3, D4) between each two consecutive states as:

Soft Value=abs(min(D3,D1)−min(D2,D4 ))  Equation (1)

After finding a surviving path, the corresponding states along the surviving path are the MLSE hard decisions. Combining the hard decisions and the corresponding soft values, we can generate MLSE soft decisions as

Soft Decision Output=Soft Value.*Hard Decision.  Equation (2)

FIG. 5 shows an example of a procedure 500 of calculating path metric and generating soft decision values in the MLSE process. After the initialization stage (502), the memory is firstly filled with sample values while the convergence state is decided to export the soft/hard value or not in the current bit. An Index, number of samples are taken in (504), until memory is filled (506). In some embodiments, 22 bits may be used to fill the memory.

Path metric for each transition from nodes of a previous state (e.g., representing possible values of sample values) is calculated (508). The survivor path metric (e.g., as used in a soft Viterbi decoder) is updated.

Next, the label pointing to the converged bit is updated. The next operation is to evaluate the label to decide if one-symbol decision is needed if no convergence appears in the memory 9514, 516). Then the basic Viterbi algorithm is employed and the soft/hard values are continually exported after the decision on the convergence state evaluation. The label is the identifier pointing to the converged bit in the memory, where the soft value is calculated and output. The number of states and transitions may in general be related to properties of transmission channel. For example, for a channel that may cause longer bit error bursts, a greater number of stages may be used.

As further shown in FIG. 5, survivor path updating and outputting of soft value based on soft value and hard value (526) may be performed either by outputting hard and soft (absolute) value based on contributed path metric (512) upon deciding the convergence (label) of the survivor path (510) or (522) when decided (520) after deciding the survivor path based on Viterbi algorithm (518), as described above. Upon decoding the convergence (520), value of label is reduced by one (524).

With respect to FIG. 6, two examples of the MLSE soft decision values resulted from the invented method are shown in graph 600 of FIG. 6, which correspond respectively to an MLSE memory length of 3 (602) and 12 (604). It shows that the case with longer MLSE memory length (number of trellis stages) results in more converged bit decisions, then less number of soft decision values close to 0 for the alphabet set of {−1, 1}. In other word, using longer MLSE memory size helps to improve the reliability (or certainty) of the MLSE decisions.

FIG. 7 is a flowchart representation of a process 700 of recovering information bits from a received signal in which information bits are encoded using a forward error correction code. The process 700 can be implemented at a wireless or an optical receiver apparatus.

At 702, a plurality of digital samples are generated from the received signal. The process 700 may generate the plurality of digital samples using the previously discussed techniques with respect to the PD to digital filter modules (refer to FIG. 3, 314).

At 704, the process 700 performs an MLSE on the plurality of digital samples to generate a plurality of hard decision values and a plurality of soft decision values based on the plurality of hard decision values. As previously disclosed, the hard decision values may, e. g., provide a decision output that belongs to a known set of input symbol values (e.g., +1 or −1 in case of a QPSK input). In some implementations, the soft decision values may include a value and a corresponding confidence level of how probable that value is. The final soft-decision output is generated based on the hard-decision values for sign and soft decision values through Equation (2).

At 706, the process 700 determines a plurality of un-error-corrected data bits from the plurality of soft-decision output values. The un-error-corrected data bits, e.g., may be the result of MLSE processing prior to performing FEC decoding on these values to eliminate any bit errors that can be detected and/or corrected using an error correction code.

At 708 the process 700 recovers information bits by soft-decision forward error correcting the plurality of un-error-corrected data bits. In some implementations, the recovered information represents the data bits that were used to modulate/encode information at the transmitter side.

FIG. 8 is a block diagram representation of an apparatus 800 for recovering information bits from a received signal in which information bits are encoded using an forward error correction code. The module (e.g., a receiver subsystem comprising functional modules PD to digital filter in FIG. 3) 802 is for generating a plurality of digital samples from the received signal. The module 804 (e.g., an MLSE module) is for performing a maximum likelihood sequence estimation (MLSE) on the plurality of digital samples to generate a plurality of hard decision values and a plurality of soft decision values corresponding to the plurality of hard decision values. The module 806 (e.g., an MLSE output module) is for determining a plurality of un-error-corrected data bits from the plurality of hard decision values and the plurality of soft-decision values. The module 808 (e.g., an error correction module) is for recovering information bits by forward error correcting the plurality of un-error-corrected data bits.

FIG. 9 is a flowchart representation of a process 900 of generating sample value estimates from a plurality of symbol values representing a signal received over a transmission channel, each symbol in the plurality of symbols having a transmitted value from a set of reference symbol values. The process 900 can be implemented, e.g., in an optical receiver or a wireless receiver.

At 902, the process 900 generates a trellis model comprising one or more states, each state each state represented as a set of nodes corresponding to the set of reference symbol values such that, between two consecutive states, each node from a previous state is connected to each node in a next state by a path having a metric representing a likelihood of transition. One example of a trellis model is disclosed above with respect to FIG. 4.

At 904, the process 900 estimates a first set of values representative of output sample values based on an absolute value of a difference of minimum path metric between reference symbols of consecutive states. One example of the estimation is discussed above with respect to Equation (1).

FIG. 10 is a block diagram representation of an apparatus 1000 for generating sample value estimates from a plurality of symbol values representing a signal received over a transmission channel, each symbol in the plurality of symbols having a transmitted value from a set of reference symbol values. The module 1002 is for generating a trellis model comprising one or more states, each state each state represented as a set of nodes corresponding to the set of reference symbol values such that, between two consecutive states, each node from a previous state is connected to each node in a next state by a path having a metric representing a likelihood of transition. The module 1004 is for estimating a first set of values representative of output sample values based on an absolute value of a difference of minimum path metric between reference symbols of consecutive states.

In some implementations, an optical signal receiver includes a signal reception module configured to generate symbol estimates based on input digitized signal values of a duo-binary optical signal. The signal reception module includes a trellis structure having a memory length of two, an alphabet set of two values and corresponding four transition paths from a previous state of two values to a next state of two values, in which a soft value of a symbol is computed using Equation (1) wherein abs represents an absolute value function and D1 and D3 represent transition path metrics from a first alphabet value in the previous state to the two alphabet values in the next state and D2 and D4 represent transition path metrics from a second alphabet value in the previous state to the two alphabet values in the next state.

In some implementations, an optical communication system includes an optical signal transmitter configured to transmit an error correction coded optical signal and an optical signal receiver configured to receive the error correction coded optical signal, generate a plurality of digital samples from the received signal, perform a maximum likelihood sequence estimation (MLSE) on the plurality of digital samples to generate a plurality of hard decision values and a plurality of soft decision values corresponding to the plurality of hard decision values, determine a plurality of un-error-corrected data bits from the plurality of hard decision values and the plurality of soft-decision values and recover information bits by forward error correcting the plurality of un-error-corrected data bits.

FIG. 11 depicts an example of constellations before (1102) and after (1104) soft-decision MLSE recovery.

As an example of 3^(rd)-order 25-GHz bandwidth constrained 128-Gb/s PDM-QPSK signal, FIG. 11 shows complex constellations before (1102) and after (1104) digital filter and soft-decision MLSE recovery. The number of points at the neighboring regions of each quadrant is much less compared with the one without soft process of MLSE.

With reference to FIG. 12, a TPC SD-FEC code is used to verify the effectiveness of the disclosed technology of generating soft values from MLSE. The code rate is 0.8308 and the length of coded bits is 110592. Half million data points are used to investigate the water-fall region of FEC decoding algorithm. Graph 1200 shows the BER performance comparisons of soft and hard output of MLSE with SD FEC as well as the one without both MLSE and FEC in the case of spectral prefiltering with 3rd-order 22-GHz optical Gaussian filter. About 0.6-dB OSNR improvement has been achieved with the use of soft value that is generated in the depicted embodiment. The embodiment that employs both soft output of MLSE and SD FEC provides the best BER performance and enables the possibility of implementations in such spectral-narrowing condition.

The disclosed and other embodiments, modules and the functional operations described in this document can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this document and their structural equivalents, or in combinations of one or more of them. The disclosed and other embodiments can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more them. The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagated signal is an artificially generated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus.

A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.

The processes and logic flows described in this document can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).

Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Computer readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

While this patent document contains many specifics, these should not be construed as limitations on the scope of an invention that is claimed or of what may be claimed, but rather as descriptions of features specific to particular embodiments. Certain features that are described in this document in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or a variation of a sub-combination. Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results.

Only a few examples and implementations are disclosed. Variations, modifications, and enhancements to the described examples and implementations and other implementations can be made based on what is disclosed. 

What is claimed is what is described and illustrated, including:
 1. A method of recovering information bits from a received signal in which information bits are encoded using a forward error correction code, the method comprising: generating a plurality of digital samples of the received signal; performing a maximum likelihood sequence estimation (MLSE) on the plurality of digital samples to generate a plurality of hard decision values and a plurality of soft decision values corresponding to the plurality of hard decision values; determining a plurality of un-error-corrected data bits from the plurality of hard decision values and the plurality of soft-decision values; and recovering information bits by forward error correcting the plurality of un-error-corrected data bits.
 2. The method of claim 1, wherein the determining the plurality of un-error-corrected data bits comprises: generating each one of the plurality of un-error-corrected data bits by multiplying a hard decision value with a corresponding soft-decision value.
 3. The method of claim 1, wherein the generation of the plurality of soft decision values comprises: processing the plurality of digital samples through a trellis structure comprising one or more stages, wherein each stage comprises a set of possible soft decision values.
 4. A computer program product comprising a computer-readable program medium having code stored thereon, the code, when executed, causing a processor to implement a method of recovering data from a received signal in which information bits are encoded using an forward error correction code, the method comprising: generating a plurality of digital samples from the received signal; performing a maximum likelihood sequence estimation (MLSE) on the plurality of digital samples to generate a plurality of hard decision values and a plurality of soft decision values corresponding to the plurality of hard decision values; determining a plurality of un-error-corrected data bits from the plurality of hard decision values and the plurality of soft-decision values; recovering information bits by forward error correcting the plurality of un-error-corrected data bits.
 5. The computer program product of claim 4, wherein the determining the plurality of un-error-corrected data bits comprises: generating each one of the plurality of un-error-corrected data bits by multiplying a hard decision value with a corresponding soft-decision value.
 6. The computer program product of claim 4, wherein the generation of the plurality of soft decision values comprises: processing the plurality of digital samples through a trellis structure comprising one or more stages, wherein each stage comprises a set of possible soft decision values.
 7. An apparatus for recovering information bits from a received signal in which information bits are encoded using an forward error correction code, the apparatus comprising: a receiver subsystem that generates a plurality of digital samples from the received signal; a maximum likelihood sequence estimation (MLSE) module that performs MLSE on the plurality of digital samples to generate a plurality of hard decision values and a plurality of soft decision values corresponding to the plurality of hard decision values; an MLSE output module that determines a plurality of un-error-corrected data bits from the plurality of hard decision values and the plurality of soft-decision values; and an error correction module that information bits by forward error correcting the plurality of un-error-corrected data bits.
 8. The apparatus of claim 7, wherein the MLSE module comprises: a multiplication module that generates each one of the plurality of un-error-corrected data bits by multiplying a hard decision value with a corresponding soft-decision value.
 9. The apparatus of claim 7, wherein the MLSE module comprises: a trellis module that processes the plurality of digital samples through a trellis structure comprising one or more stages, wherein each stage comprises a set of possible soft decision values.
 10. A method of generating sample value estimates from a plurality of symbol values representing a signal received over a transmission channel, each symbol in the plurality of symbols having a transmitted value from a set of reference symbol values, the method comprising: generating a trellis model comprising one or more states, each state each state represented as a set of nodes corresponding to the set of reference symbol values such that, between two consecutive states, each node from a previous state is connected to each node in a next state by a path having a metric representing a likelihood of transition; and estimating a first set of values representative of output sample values based on an absolute value of a difference of minimum path metric between reference symbols of consecutive states.
 11. The method of claim 10, further comprising: generating a second set of estimates for the output sample values based on a hard decision; and computing the output sample values by multiplying the first set of values with the corresponding second set of estimates.
 12. The method of claim 10, wherein a number of the one or more states is selected based on a characteristic of the transmission channel.
 13. An apparatus for generating sample value estimates from a plurality of symbol values representing a signal received over a transmission channel, each symbol in the plurality of symbols having a transmitted value from a set of reference symbol values, the apparatus comprising: means for generating a trellis model comprising one or more states, each state each state represented as a set of nodes corresponding to the set of reference symbol values such that, between two consecutive states, each node from a previous state is connected to each node in a next state by a path having a metric representing a likelihood of transition; and means for estimating a first set of values representative of output sample values based on an absolute value of a difference of minimum path metric between reference symbols of consecutive states.
 14. The apparatus of claim 13, further comprising: means for generating a second set of estimates for the output sample values based on a hard decision; and means for computing the output sample values by multiplying the first set of values with the corresponding second set of estimates.
 15. The apparatus of claim 13, wherein a number of the one or more states is selected based on a characteristic of the transmission channel.
 16. An optical signal receiver, at least partially implemented in hardware, comprising a signal reception module configured to generate symbol estimates based on input digitized signal values of a duo-binary optical signal, the signal reception module comprising: a trellis structure having a memory length of two, an alphabet set of two values and corresponding four transition paths from a previous state of two values to a next state of two values, in which a soft value of a symbol is computed using: soft value=abs(min(D3,D1)−min(D2,D4 )), wherein abs represents an absolute value function and D1 and D3 represent transition path metrics from a first alphabet value in the previous state to the two alphabet values in the next state and D2 and D4 represent transition path metrics from a second alphabet value in the previous state to the two alphabet values in the next state.
 17. An optical communication system comprising: an optical signal transmitter configured to transmit an error correction coded optical signal; and an optical signal receiver configured to: receive the error correction coded optical signal; generate a plurality of digital samples from the received signal; perform a maximum likelihood sequence estimation (MLSE) on the plurality of digital samples to generate a plurality of hard decision values and a plurality of soft decision values corresponding to the plurality of hard decision values; determine a plurality of un-error-corrected data bits from the plurality of hard decision values and the plurality of soft-decision values; recover information bits by forward error correcting the plurality of un-error-corrected data bits. 